const { merge } = require("webpack-merge");
const baseConfig = require("./webpack.common.js");
// const ESLintPlugin = require("eslint-webpack-plugin");
const { DefinePlugin } = require('webpack');
const path =require('path')
module.exports = merge(baseConfig, {
  mode: "development",
  // target: "web",
  // 关闭webpack输出
  stats: "errors-only",
  devtool: 'cheap-module-source-map' ,// 只包含行映射，没有列映射，打包速度快
  devServer: {
    hot: true,
    open: true,
    // public文件夹中文件不经过打包，开发服务器目录结构中没有public，所以需要映射
    static: {
      // 需要映射的目录
      directory: path.join(__dirname, '../public'),
      // 映射到根目录
      publicPath: '/public',
    },
    // devMiddleware: {
    //   writeToDisk: true
    //   // http://[devServer.host]:[devServer.port]/webpack-dev-server 查看目录结构
    // }
  },
  plugins: [
    // 支持Vue开发者工具
    new DefinePlugin({
      __VUE_OPTIONS_API__: true,
      __VUE_PROD_DEVTOOLS__: false,
    }),
    // 开启ESLint检查
    // new ESLintPlugin({ extensions: ["js", "ts", "vue"] })
    // new WebpackBar({
    //   color: "#85d",  // 默认green，进度条颜色支持HEX
    //   basic: false,   // 默认true，启用一个简单的日志报告器
    //   profile:false,  // 默认false，启用探查器。
    // })
  ],
});
